/*================================================================================
*
*
*                                   
*
*
* 项目名称: mcp2515-spi-can-demo
* 文件名称: bsp_mcp2515.c
* 创建日期: 21-02-03
* 文件描述: 
*
================================================================================*/
#include "spi.h"

#include "bsp_mcp2515.h"

/********************************************************************************
*函数功能: 
    MCP2515-SPI接口函数,写1个数据
    @param u8data
*修改记录: 
*日期:                作者:                摘要:
      21-02-03             YummoShin            Create
********************************************************************************/
void MCU_SPI_WRITE_FUNCTION(uint8_t u8data)
{
    uint8_t i=100;

    hspi2.Instance->DR = u8data;

    while( RESET == __HAL_SPI_GET_FLAG(&hspi2, SPI_FLAG_TXE) )
    {
        if(0==i--) break;
    }
}

/********************************************************************************
*函数功能: 
    MCP2515-SPI接口函数,连续写数据,5ms超时
    @param pdata, 数据指针
    @param u16Amount, 数据数量
*修改记录: 
*日期:                作者:                摘要:
      21-02-03             YummoShin            Create
********************************************************************************/
void MCU_SPI_WR_BURST_FUNTION(const uint8_t *pdata, uint16_t u16Amount)
{
    HAL_SPI_Transmit(&hspi2, pdata, u16Amount, 5);
}

/********************************************************************************
*函数功能: 
    MCP2515-SPI接口函数,读取数据,5ms超时
    @param pdata, 保存数据的指针
    @param u16Amount, 数据数量
*修改记录: 
*日期:                作者:                摘要:
      21-02-03             YummoShin            Create
********************************************************************************/
void MCU_SPI_READ_FUNCTION(uint8_t *pdata, uint16_t u16Amount)
{
    HAL_SPI_Receive(&hspi2, pdata, u16Amount, 5);
}
